
<#include "/base/common/head.html"/>

 <div class="easyui-panel addPage multiple" data-options="fit:true,border:false,novalidate:true">
    <form class="easyui-form" id="form1" method="post" data-options="novalidate:true">
        <table class="table1">
        	
        	<##list tempFields2 as sonList>
					<tr>
        	<##list sonList as item>
        		<#-- ********************* String类型 ********************** -->
				<##if item.fieldType == "java.lang.String">
					<#-- 11 下拉框-固定序列 -->
					<##if item.addType == "S11">
						<th><span>¥{item.showName!item.fieldName}</span></th>
		               	<td>
		               		<div class="wrap_input"><input class="easyui-combobox" addClear panelHeight="auto" type="text" name="¥{item.fieldName}" id="¥{item.fieldName}" value="<##if type == 'add'>¥{item.defaultValue!''}<##else>${bo.¥{item.fieldName}!''}</##if>" tabindex="¥{item.snAdd}" 
		               			data-options="<##if item.addRequired >required:true,</##if> fit:true,valueField:'name',textField:'name',data: ¥{item.parameterData}"></input></div>
		           		</td>
					<#-- 12 下拉框-URL -->
					<##elseif item.addType == "S12">
						<th><span>¥{item.showName!item.fieldName}</span></th>
		               	<td>
		               		<div class="wrap_input"><input class="easyui-combobox" addClear panelHeight="auto" type="text" name="¥{item.fieldName}" id="¥{item.fieldName}" value="<##if type == 'add'>¥{item.defaultValue!''}<##else>${bo.¥{item.fieldName}!''}</##if>" tabindex="¥{item.snAdd}" 
		               			data-options="<##if item.addRequired >required:true,</##if> fit:true,valueField:'¥{item.parameter}',textField:'¥{item.parameter}',url:'${basePath}¥{item.addSelectUrl}'"></input></div>
		           		</td>
					<#-- 21 下拉框多选-固定序列 -->
					<##elseif item.addType == "S21">
						<th><span>¥{item.showName!item.fieldName}</span></th>
		               	<td>
		               		<div class="wrap_input"><input class="easyui-combobox" addClear panelHeight="auto" type="text" name="¥{item.fieldName}" id="¥{item.fieldName}" value="<##if type == 'add'>¥{item.defaultValue!''}<##else>${bo.¥{item.fieldName}!''}</##if>" tabindex="¥{item.snAdd}" 
		               			data-options="<##if item.addRequired >required:true,</##if> fit:true,editable:false,multiple:true,valueField:'name',textField:'name',data: ¥{item.parameterData}"></input></div>
		           		</td>
		           	<#-- 22 下拉框多选-URL  -->
	           		<##elseif item.addType == "S22">
						<th><span>¥{item.showName!item.fieldName}</span></th>
		               	<td>
		               		<div class="wrap_input"><input class="easyui-combobox" addClear panelHeight="auto" type="text" name="¥{item.fieldName}" id="¥{item.fieldName}" value="<##if type == 'add'>¥{item.defaultValue!''}<##else>${bo.¥{item.fieldName}!''}</##if>" tabindex="¥{item.snAdd}" 
		               			data-options="<##if item.addRequired >required:true,</##if> fit:true,editable:false,multiple:true,valueField:'¥{item.parameter}',textField:'¥{item.parameter}',url:'${basePath}¥{item.addSelectUrl}'"></input></div>
		           		</td>
	           		<#-- 02 长文本  -->
	           		<##elseif item.addType == "S02">
						<th><span>¥{item.showName!item.fieldName}</span></th>
		               	<td >
		               		<input class="easyui-textbox" addClear type="text" name="¥{item.fieldName}" id="¥{item.fieldName}" value="<##if type == 'add'>¥{item.defaultValue!''}<##else>${bo.¥{item.fieldName}!''}</##if>" tabindex="¥{item.snAdd}" 
		               			data-options="multiline:true,height:60,width:'90%'" ></input>
		           		</td>
	           		<#-- 01 文本框（默认情况）  -->
	           		<##else>
		           		<th><span>¥{item.showName!item.fieldName}</span></th>
		               	<td>
		               		<div class="wrap_input"><input class="easyui-textbox" addClear type="text" name="¥{item.fieldName}" id="¥{item.fieldName}" value="<##if type == 'add'>¥{item.defaultValue!''}<##else>${bo.¥{item.fieldName}!''}</##if>" tabindex="¥{item.snAdd}"
		               			data-options="<##if item.addRequired >required:true,</##if> fit:true"></input></div>
		           		</td>
	           		</##if>
        		<#-- ********************* Integer、Short、Long 类型 ********************** -->	
				<##elseif item.fieldType == "java.lang.Integer" || item.fieldType == "java.lang.Short" || item.fieldType == "java.lang.Long">
					<#-- 02 数值微调框  -->
					<##if item.addType == "I02">
						<th><span>¥{item.showName!item.fieldName}</span></th>
		               	<td>
		               		<div class="wrap_input"><input class="easyui-numberspinner" type="text" name="¥{item.fieldName}" id="¥{item.fieldName}" value="<##if type == 'add'>¥{item.defaultValue!''}<##else><#if bo.¥{item.fieldName}??>${bo.¥{item.fieldName}?c}</#if></##if>" tabindex="¥{item.snAdd}" 
		               			data-options="<##if item.addRequired >required:true,</##if> fit:true,editable:false"></input></div>	
		           		</td>
	           		<#-- 01 数值录入框（默认情况）  -->
	           		<##else>
		           		<th><span>¥{item.showName!item.fieldName}</span></th>
		               	<td>
		               		<div class="wrap_input"><input class="easyui-numberbox" addClear type="text" name="¥{item.fieldName}" id="¥{item.fieldName}" value="<##if type == 'add'>¥{item.defaultValue!''}<##else><#if bo.¥{item.fieldName}??>${bo.¥{item.fieldName}?c}</#if></##if>" tabindex="¥{item.snAdd}"
		               			data-options="<##if item.addRequired >required:true,</##if> fit:true"></input></div>
		           		</td>
	           		</##if>
        		<#-- ********************* Double、Float 类型 ********************** -->	
				<##elseif item.fieldType == "java.lang.Double" || item.fieldType == "java.lang.Float">
						<th><span>¥{item.showName!item.fieldName}</span></th>
		               	<td>
		               		<div class="wrap_input"><input class="easyui-numberbox" addClear name="¥{item.fieldName}" id="¥{item.fieldName}" value="<##if type == 'add'>¥{item.defaultValue!''}<##else><#if bo.¥{item.fieldName}??>${bo.¥{item.fieldName}?c}</#if></##if>" tabindex="¥{item.snAdd}" 
		               			data-options="<##if item.addRequired >required:true,</##if> fit:true,precision:1"></input></div>
		           		</td>
				<#-- ********************* Boolean 类型 ********************** -->	
				<##elseif item.fieldType == "java.lang.Boolean">
						<th><span>¥{item.showName!item.fieldName}</span></th>
		               	<td>
		               		<div class="wrap_input">
		               			<input class="easyui-switchbutton" name="¥{item.fieldName}" id="¥{item.fieldName}" data-options="onText:'¥{item.parameter}',offText:'¥{item.falseShow}'" <##if type == 'add'><##if item.defaultValue == "true">checked</##if><##else>${bo.¥{item.fieldName}?string('checked','')}</##if> /> 
		               		</div>
		           		</td>
				<#-- ********************* Date 类型 ********************** -->	
				<##elseif item.fieldType == "java.util.Date">
					<#-- 02 日期微调   -->
					<##if item.addType == "DT02">
						<th><span>¥{item.showName!item.fieldName}</span></th>
		               	<td>
		               		<div class="wrap_input"><input class="easyui-datetimespinner" type="text" name="¥{item.fieldName}" id="¥{item.fieldName}" value="<##if type == 'add'>0<##else>${bo.¥{item.fieldName}!''}</##if>" tabindex="¥{item.snAdd}"
		               			data-options="<##if item.addRequired >required:true,</##if> formatter:formatter_ymd,parser:parser_ymd,fit: true,showSeconds:false"></input></div>
		           		</td>
		           	<#-- 03 时间选择框  -->
	           		<##elseif item.addType == "DT03">
						<th><span>¥{item.showName!item.fieldName}</span></th>
		               	<td>
		               		<div class="wrap_input"><input class="easyui-datetimebox" addClear type="text" name="¥{item.fieldName}" id="¥{item.fieldName}" value="<##if type == 'add'><##else>${bo.¥{item.fieldName}!''}</##if>"  tabindex="¥{item.snAdd}" 
		               			data-options="<##if item.addRequired >required:true,</##if> fit: true,showSeconds:false,editable:false"></input></div>
		           		</td>
	           		<#-- 04 时间微调  -->
	           		<##elseif item.addType == "DT04">
						<th><span>¥{item.showName!item.fieldName}</span></th>
		               	<td >
		               		<div class="wrap_input"><input class="easyui-datetimespinner" type="text" name="¥{item.fieldName}" id="¥{item.fieldName}" value="<##if type == 'add'>0 09:00<##else>${bo.¥{item.fieldName}!''}</##if>"  tabindex="¥{item.snAdd}" 
		               			data-options="<##if item.addRequired >required:true,</##if> fit: true,showSeconds:false"></input></div>
		           		</td>
	           		<#-- 01 日期选择框（默认情况）  -->
	           		<##else>
		           		<th><span>¥{item.showName!item.fieldName}</span></th>
		               	<td>
		               		<div class="wrap_input"><input class="easyui-datebox" addClear name="¥{item.fieldName}" id="¥{item.fieldName}" value="<##if type == 'add'><##else>${bo.¥{item.fieldName}!''}</##if>" tabindex="¥{item.snAdd}"
		               			data-options="<##if item.addRequired >required:true,</##if> fit: true,editable:false "></input></div>
		           		</td>
	           		</##if>
				
				<#-- ********************* bo类型 ********************** -->	
				<##elseif item.otherBo>
					<#-- 02 下拉列表框 -->
					<##if item.addType == "BO02">
						<th><span>¥{item.showName!item.fieldName}</span></th>
		               	<td>
		               		<div class="wrap_input">
		               			<input class="easyui-combogrid" addClear name="¥{item.fieldName}.id" id="¥{item.fieldName}.id" value="<##if type == 'add'><##else><#if bo.¥{item.fieldName}??>${bo.¥{item.fieldName}.id?c}</#if></##if>" tabindex="¥{item.snAdd}"
		               				data-options="<##if item.addRequired >required:true,</##if> fit:true,editable:false,idField: 'id',textField: '¥{item.parameter}',
									url: '${basePath}¥{item.addSelectUrl}',
									panelWidth: 240,
									columns: [[
										{field:'¥{item.parameter}',title:'名称',width:60,align:'center'}
										//,{field:'code',title:'编号',width:60,align:'center'}
										//,{field:'name',title:'名称',width:80,align:'center'}
										//,{field:'remark',title:'备注',width:100,align:'center'}
									]],
									fitColumns: true
								"></input>
		               		</div>
		           		</td>
	           		<#-- 01 下拉框（默认情况）  -->
	           		<##else>
		           		<th><span>¥{item.showName!item.fieldName}</span></th>
		               	<td>
		               		<div class="wrap_input">
			               		<input class="easyui-combobox" addClear panelHeight="auto" type="text" name="¥{item.fieldName}.id" id="¥{item.fieldName}.id" value="<##if type == 'add'><##else><#if bo.¥{item.fieldName}??>${bo.¥{item.fieldName}.id?c}</#if></##if>" tabindex="¥{item.snAdd}"
			               			data-options="<##if item.addRequired >required:true,</##if> fit:true,editable:false,valueField:'id',textField:'¥{item.parameter}',
			               			url:'${basePath}¥{item.addSelectUrl}'
			               		<##if type == 'add'>
			               			,onLoadSuccess:function(){
			               					//取默认值
			               					var dataArr = $('#¥{item.fieldName}\\.id').combobox('getData');
			               					for(var i=0;i<dataArr.length;i++)
			               					{
			               						var obj = dataArr[i];
			               						if(obj.code == '¥{item.defaultValue}')
			               						{
			               							$('#¥{item.fieldName}\\.id').combobox('setValue',obj.id);
			               							break;
			               						}
			               					}
			               			}
			               		</##if>
			               		"></input>
		               		</div>
		           		</td>
	           		</##if>
	           		<#-- ****************************************** -->
				</##if>
			</##list>	
						<TD  style="width:100px"></TD>
					</tr>
					
          	</##list>
           
        </table>
    </form>
</div>

<style type="text/css">

/* 文本显示样式 */
.theTxtClass{font-family: Arial, Helvetica, sans-serif; line-height: 22px; color: #2f8ec7;margin-left:10px;font-size:12px;}

/* 红色文本样式 */
.theRedTxt{color: #ff0000;font-size:14px;}

</style>

<script>

//定义保存回调方法
top.window.subPage.save = save;
function save() {
	if($("#form1").form('validate')) {
		$.post("¥{type}", getParam(), function(data) {
			if("01" == data.code){//成功
				top.window.closeWindow(); //关闭窗口
				top.window.subPage.loadCurrDatagrid(); //回调方法
				showMsg(data.msg); //显示消息
				
			}else if("04" == data.code){//失败
				showErrorMsg(data.msg); //显示错误消息
			}
			
		});
		
	}
}

//获取表单数据
function getParam() {
	var param = {
		<##if type == 'add'>
				"id": 0
		<##else>
				"id": ${bo.id?c}
		</##if>
		<##list tempFields as item>
			<#-- Boolean 开关  -->
			<##if item.fieldType == "java.lang.Boolean">
				,"obj.¥{item.fieldName}": $("#¥{item.fieldName}").switchbutton("options").checked+""
			<#-- 公共类型  -->
			<##elseif item.otherBo>
				,"obj.¥{item.fieldName}.id": getInputValue("¥{item.fieldName}.id")
			<#-- 默认 -->
			<##else>
				,"obj.¥{item.fieldName}": getInputValue("¥{item.fieldName}")
			</##if>
		</##list>
		
	}
	//去除空数据
	for(key in param) {
		if(!param[key]) {
			delete param[key];
		}
	}
	return param;
}

$(function(){
/*
	为 EasyUI常用组件添加'清除'按钮及功能，共计6类，具体实现在common.js中定义，用法如下：
	（1）addClear4TextBox("#name",nameChangeDo);		//文本框,同时传入了回调函数
	（2）addClear4Combobox("#state\\.id");			//下拉列表框
	（3）addClear4Combogrid("#type\\.id");			//数据表格下拉框
	（4）addClear4Numberbox("#intNum2");				//数值输入框
	（5）addClear4Datebox("#theDate2");				//日期选择框
	（6）addClear4Datetimebox("#theTime2");			//日期选择框
	注：实现使用了 onChange 事件，如果需要使用该事件执行某些操作，可传入自定义函数，会自动回调 。
	加注：可使用autoAddClear()函数，为各组件自动填加‘清除’功能（组件需要增加 addClear属性 ）。
*/
	autoAddClear(); //为各组件自动填加‘清除’功能（组件需要增加 addClear属性 ）
	//addClear4TextBox("#name",nameChangeDo); //对于需要使用OnChange事件的组件，单独手动填加
	
	addChangeFocusOpe(); //页面增加焦点切换操作
	//$('#code').next('span').find('input').focus();  //第一个元素设置焦点
	<##assign x=0 />
	<##list tempFields as item>
		<##assign x=x+1 />
		<##if x==1> 
			$('#¥{item.fieldName}').next('span').find('input').focus();  //第一个元素设置焦点 
		</##if>
	</##list>
	
	
});

//名称改变时执行的一些操作。（演示清除操作回调）
var nameChangeDo = function(){
	//alert("改变了...");
}

//字符串转日期
function stringToDate(value){
    return new Date(Date.parse(value.replace(/-/g, "/")));
}

//自定义校验
$.extend($.fn.validatebox.defaults.rules, { 
	//注意：自定义验证器名称，一定不能包含数字，否则会不起作用
	
	intNumValidator:{//验证整数2（必须大小整数1）
        validator: function(value){
            return parseInt(value) > parseInt($("#intNum1").val());    
        },    
        message: '必须大于 整数1'   
    },   

    theDateValidator:{//验证日期2（必须大小日期1）
	    validator: function(value){
	        return stringToDate(value) > stringToDate($("#theDate1").val());    
	    },    
	    message: '必须大于 日期1'   
	}
    
});  

</script>
<#include "/base/common/foot.html"/>
